package com.tjn.string_;

/**
 * @author 陶镓妮
 * @version 1.0
 */
public class StringBuffer01 {
    public static void main(String[] args) {
        StringBuffer stringBuffer = new StringBuffer();
        //StringBuffer和String不一样的是，StringBuffer是可变字符串，可以对字符串内容进行增删
        /*
        public final class StringBuffer
        extends AbstractStringBuilder
        implements java.io.Serializable, CharSequence
         */
        //实现了Serializable接口，可以串行化
        //AbstractStringBuilder是直接父类，父类中有char[] value属性，不是final的，所以内容可以被修改
        //该value数组是放在堆中的，用来存放字符串内容
        //StringBuffer是final的，所以不能被继承


        //String和StringBuffer的相互转换
        //1.String--->StringBuffer
        String str = "hello";
        //方法一：使用构造器
        StringBuffer stringBuffer1 = new StringBuffer(str);
        //方法二：使用append方法
        StringBuffer stringBuffer2 = new StringBuffer();
        stringBuffer2.append(str);

        //2.StringBuffer--->String
        //方法一：使用toString方法
        StringBuffer stringBuffer3 = new StringBuffer("hi");
        stringBuffer3.toString();
        //方法二：使用构造器
        String s = new String(stringBuffer3);
    }
}
